<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>性能问题</title>
</head>
<body>

</body>
<script>
// 性能问题
// 效率：对于大型和复杂的对象，JSON 序列化和反序列化的性能可能较差。序列化和反序列化过程会消耗大量的 CPU 和内存资源。
// 速度：深拷贝过程中，JSON 方法的速度通常比手动实现的深拷贝函数要慢，因为它需要两次遍历对象数据结构（一次序列化，一次反序列化）。

    // 定义一个大型复杂对象
    const largeObject = {
        data: []
    }
    // 创建一个包含大量数据的数组
    for (let i = 0; i < 1000000; i++) {
        largeObject.data.push({
            id: i,
            name: `Item ${i}`,
            value: Math.random()
        });
    }
    // 测试 JSON 序列化和反序列化的性能
    console.time("JSON Deep Copy");
    const jsonString = JSON.stringify(largeObject);
    const copiedObject = JSON.parse(jsonString);
    console.timeEnd("JSON Deep Copy");

    // 说明
    // 对象大小：largeObject 包含 100 万个元素，每个元素是一个具有 id、name 和 value 属性的对象。
    // 性能测试：使用 console.time 和 console.timeEnd 来测量 JSON 序列化和反序列化的时间。

    // 结论
    // 效率：处理这样一个大型对象时，JSON 序列化和反序列化会消耗显著的时间和内存资源。
    // 速度：如示例所示，序列化和反序列化操作可能需要数秒钟才能完成，对于某些应用场景来说，这种性能是不可接受的。
</script>
</html>